home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / language / gemfsc18.lzh / AESSRC18.LZH / AESFUNCS / MNUBAR.C < prev    next >
C/C++ Source or Header  |  1992-03-13  |  884b  |  44 lines

  1. /**************************************************************************
  2.  * MNUBAR.C - The mnu_bar(), mnu_enable(), and mnu_disable() functions. 
  3.  *************************************************************************/
  4.  
  5. #include "gemfast.h"
  6. #undef menu_bar
  7.  
  8. #ifndef NULL
  9.   #define NULL 0L
  10. #endif
  11.  
  12. static void *lastmenu;
  13. static int  hidecount;
  14.  
  15. int mnu_bar(menutree, flag, reserved)
  16.     void *menutree;
  17.     int  flag;
  18.     long reserved;
  19. {
  20.     lastmenu  = (flag) ? menutree : NULL;
  21.     hidecount = 0;
  22.     return menu_bar(menutree, flag);
  23. }
  24.  
  25. void mnu_disable()
  26. {
  27.     if (lastmenu != NULL) {
  28.         if (++hidecount == 1) {
  29.             menu_bar(lastmenu, 0);
  30.         }
  31.     }
  32. }
  33.  
  34. void mnu_enable()
  35. {
  36.     if (lastmenu != NULL) {
  37.         if (--hidecount <= 0) {
  38.             hidecount = 0;
  39.             menu_bar(lastmenu, 1);
  40.         }
  41.     }
  42. }
  43.  
  44.